#include <stdio.h>

typedef struct _a
{
	unsigned char aa[3];
	unsigned long ab[4];
}sa;

static sa ga;

int main()
{
    /*1149:	f3 0f 1e fa          	endbr64 
    114d:	55                   	push   %rbp
    114e:	48 89 e5             	mov    %rsp,%rbp
    1151:	48 83 ec 20          	sub    $0x20,%rsp
    1155:	89 7d ec             	mov    %edi,-0x14(%rbp)
    1158:	48 89 75 e0          	mov    %rsi,-0x20(%rbp)
    115c:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%rbp)*/
		int a = -1;

    /*1163:	0f b6 05 2c 30 00 00 	movzbl 0x302c(%rip),%eax        # 4196 <g_s2y_mng+0x156>	// 0x302c+0x116a=0x4196
    116a:	0f b6 c0             	movzbl %al,%eax
    116d:	89 c6                	mov    %eax,%esi
    116f:	48 8d 3d 8e 0e 00 00 	lea    0xe8e(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    1176:	b8 00 00 00 00       	mov    $0x0,%eax
    117b:	e8 d0 fe ff ff       	callq  1050 <printf@plt>*/
		printf("%d\n", ga.aa[0]);

    /*1180:	0f b6 05 10 30 00 00 	movzbl 0x3010(%rip),%eax        # 4197 <g_s2y_mng+0x157>	// 0x3010+0x1187=0x4197
    1187:	0f b6 c0             	movzbl %al,%eax
    118a:	89 c6                	mov    %eax,%esi
    118c:	48 8d 3d 71 0e 00 00 	lea    0xe71(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    1193:	b8 00 00 00 00       	mov    $0x0,%eax
    1198:	e8 b3 fe ff ff       	callq  1050 <printf@plt>*/
		printf("%d\n", ga.aa[1]);

    /*119d:	0f b6 05 f4 2f 00 00 	movzbl 0x2ff4(%rip),%eax        # 4198 <g_s2y_mng+0x158>	// 0x2ff4+0x11a4=0x4198			
    11a4:	0f b6 c0             	movzbl %al,%eax
    11a7:	89 c6                	mov    %eax,%esi
    11a9:	48 8d 3d 54 0e 00 00 	lea    0xe54(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    11b0:	b8 00 00 00 00       	mov    $0x0,%eax
    11b5:	e8 96 fe ff ff       	callq  1050 <printf@plt>*/
		printf("%d\n", ga.aa[2]);

    /*11ba:	0f b6 05 d6 2f 00 00 	movzbl 0x2fd6(%rip),%eax        # 4197 <g_s2y_mng+0x157>
    11c1:	88 05 d1 2f 00 00    	mov    %al,0x2fd1(%rip)        # 4198 <g_s2y_mng+0x158>*/
		ga.aa[2] = ga.aa[1];

    /*11c7:	0f b6 05 ca 2f 00 00 	movzbl 0x2fca(%rip),%eax        # 4198 <g_s2y_mng+0x158>
    11ce:	0f b6 c0             	movzbl %al,%eax
    11d1:	89 c6                	mov    %eax,%esi
    11d3:	48 8d 3d 2a 0e 00 00 	lea    0xe2a(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    11da:	b8 00 00 00 00       	mov    $0x0,%eax
    11df:	e8 6c fe ff ff       	callq  1050 <printf@plt>*/
		printf("%d\n", ga.aa[2]);

    /*11e4:	b8 aa aa aa aa       	mov    $0xaaaaaaaa,%eax
    11e9:	48 89 05 80 2e 00 00 	mov    %rax,0x2e80(%rip)        # 4070 <g_s2y_mng+0x30>
    11f0:	b8 bb bb bb bb       	mov    $0xbbbbbbbb,%eax
    11f5:	48 89 05 7c 2e 00 00 	mov    %rax,0x2e7c(%rip)        # 4078 <g_s2y_mng+0x38>
    11fc:	b8 cc cc cc cc       	mov    $0xcccccccc,%eax
    1201:	48 89 05 78 2e 00 00 	mov    %rax,0x2e78(%rip)        # 4080 <g_s2y_mng+0x40>
    1208:	b8 dd dd dd dd       	mov    $0xdddddddd,%eax
    120d:	48 89 05 74 2e 00 00 	mov    %rax,0x2e74(%rip)        # 4088 <g_s2y_mng+0x48>*/
		ga.ab[0] = 0xaaaaaaaa;
		ga.ab[1] = 0xbbbbbbbb;
		ga.ab[2] = 0xcccccccc;
		ga.ab[3] = 0xdddddddd;

    /*1214:	0f b6 05 7d 2f 00 00 	movzbl 0x2f7d(%rip),%eax        # 4198 <g_s2y_mng+0x158>
    121b:	0f b6 c0             	movzbl %al,%eax				// eax=ga.aa[2]
    121e:	48 98                	cltq   
    1220:	48 83 c0 06          	add    $0x6,%rax			// rax=6
    1224:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx	// rdx=6*8=48=0x30
    122b:	00 
    122c:	48 8d 05 0d 2e 00 00 	lea    0x2e0d(%rip),%rax        # 4040 <g_s2y_mng>
    1233:	48 8b 04 02          	mov    (%rdx,%rax,1),%rax	// rax=0x30+0x4040*1=0x4070
    1237:	89 45 fc             	mov    %eax,-0x4(%rbp)*/
		a = ga.ab[ga.aa[2]];

    /*123a:	8b 45 fc             	mov    -0x4(%rbp),%eax
    123d:	89 c6                	mov    %eax,%esi
    123f:	48 8d 3d c2 0d 00 00 	lea    0xdc2(%rip),%rdi        # 2008 <_IO_stdin_used+0x8>
    1246:	b8 00 00 00 00       	mov    $0x0,%eax
    124b:	e8 00 fe ff ff       	callq  1050 <printf@plt>*/
		printf("%#x\n", a);

    /*1250:	b8 00 00 00 00       	mov    $0x0,%eax
    1255:	c9                   	leaveq 
    1256:	c3                   	retq   
    1257:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
    125e:	00 00 */
		return 0;
}
